import sys
import MySQLdb

def connect():
    global bd
    global cursor
    try:
        bd = MySQLdb.connect('localhost','marcos','marcos123')
        bd.select_db('cefshop')
        cursor = bd.cursor()
        #print "Conectado."
    except MySQLdb.Error, e:
        print "Error %d: %s" % (e.args[0], e.args[1])
        sys.exit (1) 

def insert_cliente(name):
    cursor.execute ('INSERT INTO clientes (nome) VALUES (%s)',(name))
    bd.commit()

def select_all_clientes():
    cursor.execute ("SELECT cod_cliente, nome FROM clientes")
    rows = cursor.fetchall ()
    return rows

def locate_cliente(name):
    cursor.execute ('SELECT nome, LOCATE(%s,nome) FROM clientes', name)
    rows = cursor.fetchall ()
    return rows

def select_cliente(cod):
    cursor.execute ('SELECT cod_cliente, nome FROM clientes WHERE cod_cliente = %s', cod)
    rows = cursor.fetchall ()
    return rows

def insert_generodvd(name):
    cursor.execute ('INSERT INTO generodvd (descricao) VALUES (%s)',(name))
    bd.commit()

def select_all_generodvd():
    cursor.execute ("SELECT cod_genero, descricao FROM generodvd")
    rows = cursor.fetchall ()
    return rows

def select_generodvd(name):
    cursor.execute ('SELECT cod_genero FROM generodvd WHERE descricao = %s', name)
    rows = cursor.fetchall ()
    return rows


def insert_filme(genero,name,quantidade):
    cursor.execute ('INSERT INTO filme (cod_genero, titulo, quantidade) VALUES (%s,%s,%s)',(genero,name,quantidade))
    bd.commit()
    cursor.execute ('SELECT LAST_INSERT_ID( )')
    cod_filme= cursor.fetchall ()
    return cod_filme

def select_all_filme():
    cursor.execute ("SELECT filme.cod_filme, generodvd.descricao, filme.titulo, filme.quantidade FROM generodvd,filme WHERE filme.cod_genero = generodvd.cod_genero")
    rows = cursor.fetchall ()
    return rows

def insert_dvd(cod_filme):
    cursor.execute ('INSERT INTO dvd (cod_filme) VALUES (%s)',(cod_filme))
    bd.commit()

def select_all_dvd():
    cursor.execute ("SELECT dvd.cod_dvd, filme.titulo FROM dvd, filme WHERE filme.cod_filme = dvd.cod_filme")
    rows = cursor.fetchall ()
    return rows

def select_dvd(cod):
    cursor.execute ("SELECT dvd.cod_dvd, filme.titulo FROM dvd, filme WHERE filme.cod_filme = dvd.cod_filme AND dvd.cod_dvd = %s",(cod))
    rows = cursor.fetchall ()
    return rows


def insert_locacao(cod_cliente, cod_dvd, dias):
    cursor.execute ('INSERT INTO locados (cod_cliente, cod_dvd,retirada,expire_date) VALUES (%s,%s,NOW( ),DATE_ADD(CURDATE( ),INTERVAL %s DAY))',(cod_cliente, cod_dvd, dias))
    bd.commit()

def select_all_locados():
    cursor.execute ("SELECT cod_dvd ,retirada, expire_date, devolucao  FROM locados ")
    rows = cursor.fetchall ()
    return rows

def select_locados():
    cursor.execute ("SELECT idcod, cod_dvd, cod_cliente ,retirada, expire_date FROM locados WHERE status = '0' ")
    rows = cursor.fetchall ()
    return rows

def insert_devolucao(idcod):
    cursor.execute ("""
           UPDATE locados SET status = %s
           WHERE idcod = %s
         """, ('1', idcod))
    bd.commit()

def select_locados_atrasados():
    cursor.execute ("SELECT idcod, cod_dvd, cod_cliente ,retirada, expire_date FROM locados WHERE status = '0' AND expire_date < CURDATE()")
    rows = cursor.fetchall ()
    return rows

